home *** CD-ROM | disk | FTP | other *** search
- *** ../step03/run.c Thu Dec 16 14:59:38 1993
- --- run.c Fri Dec 17 12:10:18 1993
- ***************
- *** 149,156 ****
- --- 149,161 ----
- int execvp(), execv();
- int (*execrtn)() = usepath ? execvp : execv;
-
- + #ifdef _ABI_SOURCE
- + if ((pid = fork()) == -1)
- + return(-1); /* no more process's, so exit with error */
- + #else
- if ((pid = vfork()) == -1)
- return(-1); /* no more process's, so exit with error */
- + #endif
-
- if (pid == 0) { /* child process */
- setgid (getgid());
- ***************
- *** 164,171 ****
- ignoresig.sa_handler = SIG_IGN; /* ignore INT and QUIT signals */
- sigemptyset (&(ignoresig.sa_mask));
- ignoresig.sa_flags = 0;
- ! sigvec (SIGINT,&ignoresig,&intsig);
- ! sigvec (SIGQUIT,&ignoresig,&quitsig);
- #else
- ignoresig.sv_handler = SIG_IGN; /* ignore INT and QUIT signals */
- ignoresig.sv_mask = 0;
- --- 169,176 ----
- ignoresig.sa_handler = SIG_IGN; /* ignore INT and QUIT signals */
- sigemptyset (&(ignoresig.sa_mask));
- ignoresig.sa_flags = 0;
- ! sigaction (SIGINT,&ignoresig,&intsig);
- ! sigaction (SIGQUIT,&ignoresig,&quitsig);
- #else
- ignoresig.sv_handler = SIG_IGN; /* ignore INT and QUIT signals */
- ignoresig.sv_mask = 0;
- ***************
- *** 174,179 ****
- --- 179,185 ----
- sigvec (SIGQUIT,&ignoresig,&quitsig);
- #endif
- do {
- + /* XXX All the signal stuff needs attention */
- wpid = wait3 (&status.w_status, WUNTRACED, 0);
- if (WIFSTOPPED (status)) {
- kill (0,SIGTSTP);
-